package com.ruoyi.cm.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 计量详情业务对象 cm_ba_settle_detail
 *
 * @author zyb
 * @date 2024-09-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CmBaSettleDetailBo extends BaseEntity {

    /**
     * 计量单主表id
     */
    @NotNull(message = "计量单主表id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long settleId;

    /**
     * 清单项计量id
     */
    @NotNull(message = "清单项计量id不能为空", groups = { EditGroup.class })
    private Long settleDetailId;

    /**
     * 合同清单项id
     */
    @NotNull(message = "合同清单项id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long cSheetId;

    /**
     * 本期完成容量
     */
    @NotNull(message = "本期完成容量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqWcrl;

    /**
     * 本期完成总价
     */
    @NotNull(message = "本期完成总价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqWczj;

    /**
     * 本期支付预付款
     */
    @NotNull(message = "本期支付预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqZfyfk;

    /**
     * 本期扣除预付款
     */
    @NotNull(message = "本期扣除预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqKcyfk;

    /**
     * 本期扣款（千分之五奖励金）金额
     */
    @NotNull(message = "本期扣款（千分之五奖励金）金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqLjkk;

    /**
     * 本期付款金额
     */
    @NotNull(message = "本期付款金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bqFk;

    /**
     * 截止本期已完成容量
     */
    @NotNull(message = "截止本期已完成容量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyWcrl;

    /**
     * 截止本期已完成总价
     */
    @NotNull(message = "截止本期已完成总价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyWczj;

    /**
     * 截止本期已支付预付款
     */
    @NotNull(message = "截止本期已支付预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyZfyfk;

    /**
     * 截止本期已扣除预付款
     */
    @NotNull(message = "截止本期已扣除预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyKcyfk;

    /**
     * 截止本期已扣款（千分之五奖励金）金额
     */
    @NotNull(message = "截止本期已扣款（千分之五奖励金）金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyLjkk;

    /**
     * 截止本期已付款金额
     */
    @NotNull(message = "截止本期已付款金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqyFk;

    /**
     * 截止本期付款比例
     */
    @NotNull(message = "截止本期付款比例不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzbqFkbl;

    /**
     * 截止上期已完成容量
     */
    @NotNull(message = "截止上期已完成容量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyWcrl;

    /**
     * 截止上期已完成总价
     */
    @NotNull(message = "截止上期已完成总价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyWczj;

    /**
     * 截止上期已支付预付款
     */
    @NotNull(message = "截止上期已支付预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyZfyfk;

    /**
     * 截止上期已扣除预付款
     */
    @NotNull(message = "截止上期已扣除预付款不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyKcyfk;

    /**
     * 截止上期已扣款（千分之五奖励金）金额
     */
    @NotNull(message = "截止上期已扣款（千分之五奖励金）金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyLjkk;

    /**
     * 截止上期已付款金额
     */
    @NotNull(message = "截止上期已付款金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqyFk;

    /**
     * 截止上期付款比例
     */
    @NotNull(message = "截止上期付款比例不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jzsqFkbl;


}
